//
//  DBHelper.h
//  fmdbDemo
//
//  Created by rp.wang on 2017/9/21.
//  Copyright © 2017年 rp.wang. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <sqlite3.h>
#import "FMDB.h"
#import "infoModel.h"
#import <CommonCrypto/CommonDigest.h>

@interface DBHelper : NSObject

///单例模式
+ (DBHelper *)sharedInstance;
/*
 *  新建一个数据库，
 *  ServerName 数据库名称
 *  DBName
 */
-(void)CreateMyServer :(NSString *)ServerName mydbName:(NSString *)mydbName;
/**
 *  创建个人信息表
 *  userid 用户ID
 *  nickName 用户昵称
 *  sex  用户性别
 *  department 用户部门
 */
- (void)userInfoTableCreate;
/**
 *  查询用户昵称
 */
- (NSString*)getUserName:(NSString*)userId;
/**
 *   插入数据
 *   表名默认为userInfo
 *   nickName 用户昵称
 *   userID 用户ID 此处和数据库中的ID有区别
 *   sex  用户性别
 *   department  用户部门
 */
- (void)inserttableName:(NSString *)tableName  nickName:(NSString *)nickName infoID:(NSString *)infoID  userID:(NSString *)userId sex:(NSString *)sex department:(NSString *)department;
/**
 * 增加表字段
 * TableName 表名
 * UpdateStr 要插入的字段
 */
-(void)AddcodeforTableView :(NSString *)tableName addcodeStr:(NSString *)addcodeStr;
/**
 *  查用户部门
 *  入参：userId 用户ID
 *  出参：department 用户部门名称
 */
-(NSString *)GetdepartmentName :(NSString *)userId;
/**
 *  查询表里面的数据
 *  tableName 表名
 *  userid 要查询用户的ID
 *  knowStr 根据什么来查询，此处默认是用户ID---->userid
 *  InquireName 查询的参数
 *  ReturnName 返回的参数
 */
-(NSString *)InquiretableName :(NSString *)tableName InquireName:(NSString *)InquireName knowStr:(NSString *)knowStr userid:(NSString *)userid;
///判断字符串是否为空
- (BOOL) isBlankString:(NSString *)string;
/*
 *  查出表里的所有数据
 *  tableName表名
 */
- (NSArray *)loadalldata:(NSString *)tableName;
/**
 *  删除指定表
 *  tableName 表名
 */
- (BOOL)deleteWithTable:(NSString*)tableName;
/**
 *  修改表中的数据
 *  tableName 表名
 *  updateStr 要更新的数据库中的字段
 *  NewStr 更新的数据
 *  userId 要更新的用户ID
 */
-(BOOL)executeUpdatedatafromtable :(NSString *)tableName updateStr:(NSString *)updateStr NewStr:(NSString *)NewStr userId:(NSString *)userId;
///查询指定行数据
-(NSDictionary *)getcellrowdataTableName :(NSString *)tableName cellID:(NSString *)cellID;
@end
